1. Technical Field
The present invention relates to the field of computer software and, more particularly, to application-specific process tracking and recordation within a grid environment.
2. Description of the Related Art
An application domain can be defined as an application that spans multiple grids of a grid computing environment. That is, an application domain can include a set of related tasks, which can be utilized by users of the application domain. The computing resources used by the application domain for performing its tasks can be provided by different grids in a grid computing environment. Accordingly, an application domain can be a grid-based “virtual application. Application domains can include, for example, word processors, database programs, Web browsers, development tools, drawing applications, image editing programs, communication programs, and the like.
As used herein, a grid computing environment can be a distributed computing environment where computing, application, storage, and/or network resources can be shared across geographically disperse organizations. An ideal grid computing environment allows flexible, secure, coordinated resource sharing among dynamic collections of individuals, organizations, and resources. In the grid environment, a variety of computing resources that contribute to a virtual resource pool can be transparently utilized on an as-needed basis. Grid computing resources in the virtual resource pool can be treated as commodities or services, which can be consumed in a manner similar to the commercial consumption of electricity and water.
While grid computing may presently be at an early stage in its evolution, several grid computing environments have been successfully implemented. One noteworthy implementation is the NC BioGrid Project that was successfully implemented in the fall of 2001 to enable researchers and educators throughout North Carolina to pool computing resources for use in sequencing genes and related genetic research. Other notable grid implementations include SETI@home, the Drug Design and Optimization Lab (D2OL), and EUROGRID. Additionally, commercially available software products exist for establishing a customizable grid computing environment, such as Avaki's data grid from Avaki of Burlington, Me. and Grid MP Enterprise from United Devices of Austin, Tex. Further, a number of readily available toolkits and standards have been developed for creating a grid computing environment including, for example, the Globus Toolkit provided by the Globus project and the Open Grid Services Architecture (OGSA).
One problem with existing grid computing environments relates to the logging or recordation of events or actions. More specifically, within a grid environment, computer processes, applications, and users can utilize computing resources from many different hardware sources disposed across several computing grids. Therefore, no common location exists for logging system information. Without accurate system logs, system designers and administrators cannot determine which computing resources are consumed by individual computer processes, application domains, and users. Accordingly, in a grid computing environment, equitably allocating grid computing resources among a set of consumers, troubleshooting computing grids, and efficiently upgrading computing grids can be exceptionally difficult.
As conventionally implemented, grid environments do not generate application-specific usage records. More specifically, conventional data recordation methods typically attempt to establish standardized log files in a standardized format used by every grid component. The various standardized logs can be interrogated by an application domain. Then the application domain can then construct an application-specific activity record by piecing together the appropriate standardized log entries.
Appreciably, it is difficult to establish a mutually agreeable log standard to be used across diverse grid components in a grid environment. One hurdle in forming such a standard is that different application domains can require data recordation at different levels of granularity. Further, it can be highly inefficient to overly record all computing actions performed by a grid component when records are only needed for a limited number of application-specific computing actions. Another hurdle is that constructing application-specific usage records from several standardized logs can consume significant resources and time when an application domain spans a multitude of distributed grid components.